package com.domus.dreamMenu.servidor.bancodados;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import com.domus.dreamMenu.tipos.FonteNoticias;
import com.domus.dreamMenu.tipos.Idioma;
import com.domus.dreamMenu.tipos.SecaoNoticias;

public class ConexaoBancoDadosNoticias extends ConexaoBancoDados {
	
	public ArrayList<FonteNoticias> consultaFontesNoticias() {
		try{
			PreparedStatement comando = ConexaoBancoDados.conexao.prepareStatement("BEGIN");
			comando.execute();
			
			comando = ConexaoBancoDados.conexao.prepareStatement("SELECT id, nome, idioma " +
					"FROM fonte_noticias");
			ResultSet resultSetFontes = comando.executeQuery();
			
			ArrayList<FonteNoticias> fontesNoticias = new ArrayList<FonteNoticias>();
			while(resultSetFontes.next()){
				int idFonte = resultSetFontes.getInt(1);
				String nome = resultSetFontes.getString(2);
				Idioma idioma = Idioma.getIdiomaPelaSigla(resultSetFontes.getString(3));
				
				comando = ConexaoBancoDados.conexao.prepareStatement("SELECT id_secao, " +
						"descricao, dominio, caminho FROM secao_noticias WHERE id_fonte = ?");
				comando.setInt(1, idFonte);
				ResultSet resultSetSecoes = comando.executeQuery();
				
				ArrayList<SecaoNoticias> secaoNoticias = new ArrayList<SecaoNoticias>();
				while(resultSetSecoes.next()){
					int idSecao = resultSetSecoes.getInt(1);
					String descricao = resultSetSecoes.getString(2);
					String dominio = resultSetSecoes.getString(3);
					String caminho = resultSetSecoes.getString(4);
					
					secaoNoticias.add(new SecaoNoticias(idSecao, descricao, dominio, caminho));
				}
				
				fontesNoticias.add(new FonteNoticias(idFonte, nome, idioma, secaoNoticias));
				
			}
			
		} catch(SQLException e){
			//TODO
			e.printStackTrace();
		}
		
		return null;
	}

}
